package com.jy.wms.dao;
import com.jy.wms.common.annotions.BaseServiceDescribe;
import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.SysDictionary;
import com.jy.wms.pojo.WmsPacking;
import com.jy.wms.pojo.WmsStacking;
import org.apache.ibatis.annotations.Param;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Map;

/**
   * @ClassName: WmsPackingMapper.java
   * @Description: TODO(这里用一句话描述这个类的作用)
   * @Author JaneLiu
   * @Date Wed Sep 06 10:34:42 CST 2017
   */
   public interface WmsPackingMapper extends BaseDao<WmsPacking> {

    public Integer insertByP(Map<String, Object> map);
   /**
    * 添加包装表的
    * @param entity 实体对象
    * @return int
    */
    public Integer baseInsert(@Param("WmsPacking") WmsPacking entity);

    /**
     * 包装添加回滚
     *
     * @param mxid
     * @return
     */
    public Integer deleteMx(@Param("mxid") String mxid);
       /**
        * 添加明细表的
        * @param entity
        * @return
        */
    public Integer baseInsert_mx(@Param("WmsPacking") WmsPacking entity);

    /**
    * 分页查询
    * @param entity 实体
    * @return List<WmsPacking>
    */
    public List<WmsPacking>  baseSelectPage(@Param("WmsPacking") WmsPacking entity);
    /**
    * 查询（根据主键ID查询）按包装表的id查询
    * @param id 主键ID
    * @return User
    */
    public WmsPacking  baseSelectByPrimaryKey(@Param("id") String id);

       /**
        * 按明细表的id查询
        * @param id
        * @return
        */
    public List<WmsPacking>  baseSelectByPrimaryKey_mx(@Param("id") String id);

   /**
    *修改包装
    * @param entity 主键ID列表
    * @return int
    */
    public Integer baseUpdateByPrimaryKeySelective(@Param("WmsPacking") WmsPacking entity);
    /**
     * 修改明细表
     * @param entity
     * @return
     */
    public Integer baseUpdateByPrimaryKeySelective_mx(@Param("WmsPacking") WmsPacking entity);
       /**
        * 分页根据货主ID查询
        * @param sshzid 实体
        * @return List<WmsPacking>
        */
     public List<WmsPacking>  baseSelectBySshzid(@Param("mc") String mc,@Param("sshzid") String sshzid);
    //添加去重
    public WmsPacking searchAdd(@Param("bzmc") String bzmc,@Param("ckid") String ckid,@Param("sshzid")String sshzid);
    //修改去重
    public WmsPacking searchAdds(@Param("bzmc") String bzmc, @Param("id") String id,@Param("ckid") String ckid,@Param("sshzid")String sshzid);

    //查字典
    public SysDictionary selectType(@Param("WmsPacking") WmsPacking wmsPacking, @Param("type") String type);
    //查货主名
    public WmsPacking addSearch(@Param("id") String id);
    /**
     *  堆码中添加去重库位高度
     * @param kwgd
     * @param ckid
     * @param hzid
     * @param bzid
     * @return
     */

    public WmsStacking searchStackAdd(@Param("kwgd") Double kwgd, @Param("ckid") String ckid, @Param("hzid") String hzid, @Param("bzid") String bzid);

    /**
     * 堆码中编辑去重库位高度
     * @param id
     * @param bzid
     * @param kwgd
     * @param ckid
     * @param hzid
     * @return
     */
    public WmsStacking searchStackAdds(@Param("id") String id, @Param("bzid") String bzid, @Param("kwgd") Double kwgd, @Param("ckid") String ckid, @Param("hzid") String hzid);

    /**
     * 新增堆码
     * @param entity
     * @return
     */
    public Integer insertStacking(@Param("WmsStacking") WmsStacking entity);

    /**
     * 查看单个堆码信息(编辑前的查询用)
     * @param id
     * @return
     */
    public WmsStacking getWmsStacking(@Param("id") String id);

    /**
     * 修改堆码
     * @param wmsStacking
     * @return
     */
    public Integer editStacking(@Param("WmsStacking") WmsStacking wmsStacking);

    /**
     * 删除堆码
     * @param idList
     * @return
     */
    public Integer deleteStacking(@Param("list") List<String> idList);

    /**
     * 分页查询堆码列表
     * @param entity
     * @return
     */
    public List<WmsStacking> getListStacking(@Param("WmsStacking") WmsStacking entity);

}
